访问电脑版页面

导航:老古开发网手机版51单片机51单片机中断系统

51单片机的中断方法以及对LED显示器的控制设计

导读:
关键字:
LED显示器,中断,51单片机,

初学51单片机,中断快把我弄晕了,终于明白点了,怕忘了,贴在这里需要时方便自己找

锁存器电路

51单片机的中断方法以及对LED显示器的控制设计

LED显示器连接电路

51单片机的中断方法以及对LED显示器的控制设计

数码表编制方式:共8位从低4位到高4位,显示送高电平,如数字2二进制是0101 1011即16进制为:0x5B

51单片机的中断方法以及对LED显示器的控制设计

C语言程序代码如下:

1 #include

2 #define uint unsigned int

3 #define uchar unsigned char

4

5 sbit dula = P2^6; //段选

6 sbit wela = P2^7; //位选

7 uchar TIme,num; //定时器0计数次数,数码管显示字符

8

9 void init(); //初始函数化定义

10 void desplay(); //显示函数定义

11 void delay(uint); //延时函数定义

12

13 //数字字码表 0-F

14 uchar code table[]={

15 0x3f,0x06,0x5b,0x4f,

16 0x66,0x6d,0x7d,0x07,

17 0x7f,0x6f,0x77,0x7c,

18 0x39,0x5e,0x79,0x71};

19

20 //主函数

21 void main()

22 {

23 init(); //初始化

24 desplay(); //显示

25 }

26

27 //初始化

28 void init()

29 {

30 TMOD = 1;  //工作方式

31 TH0 = 0xEE;

32 TL0 = 0x00;

33 ET0 = 1;  //打开定时器0中断

34 EA = 1;  //打开总中断

35 TR0 = 1;  //开始计时(数)

36 num = 1;

37 }

38 //数码管显示

39 void desplay()

40 {

41 wela = 1;

42 P0 = 0xFE;

43 wela = 0;

44 P0 = 0xff;

45 dula = 1;

46 P0 = 0x3F;

47 dula = 0;

48 while (1)

49 {

50 if (TIme==200)

51 {

52 TIme=0;

53 dula=1;

54 P0=table[num];

55 dula=0;

56 num++;

57 if(num==16)

58 num=0;

59 delay(10);

60 }

61 }

62 }

63 //定时器0中断

64 void TIme0() interrupt 1

65 {

66 TH0 = 0xEE;

67 TL0 = 0x00;

68 time++;

69 }

70 //显示延时

71 void delay(uint x)

72 {

73 uchar i;

74 while (x--)

75 for (i=0;i《110;i++);

76 }
来源;21ic

来源:工程师周亮   作者:21ic  2019/10/17 16:09:00
栏目: [ 51单片机中断系统]

相关阅读

8051单片机是几位机_8051单片机共有几个中断源

51单片机中断优先级的设置方法解析

51单片机的中断方法以及对LED显示器的控制设计

AT89S51单片机扩充外部中断源系统的设计

51单片机中断服务子程序的设计

8051单片机定时器溢出中断与CPU响应中断的时间误差分析

80C51单片机中断的编程使用方法介绍

51单片机中断系统的重要性

C51单片机中断函数的修饰方法

MCS-51单片机定时中断的编程方法解析

MCS-51单片机定时中断不同应用情况

MCS-51单片机中断响应的三种方法解析

8051单片机中断系统结构及中断控制原理

51单片机外部中断请求源与内部中断请求源的用法解析

C51单片机中断函数的定义及应用

8051单片机定时器溢出中断误差补偿示例

C51单片机的中断号以及中断向量

如何设置51单片机的中断优先级

8051单片机的中断响应过程解析

51单片机中断用法实例解析